package com.fowo.api.model.nav.sell.order.platform;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 订单管理平台信息 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class NavSellOrderPlatformImportPo {

  /** 所属订单管理 */
  @ExcelProperty("所属订单管理")
  private String parentNavSellOrderOrderId;

  @ExcelIgnore
  @Schema(title = "所属订单管理")
  private String parentNavSellOrder;

  /** 平台主键 */
  @ExcelProperty("平台主键")
  @Size(max = 50, message = "平台主键长度不能超过50")
  private String platformId;

  /** 平台订单号 */
  @ExcelProperty("平台订单号")
  @Size(max = 50, message = "平台订单号长度不能超过50")
  private String platformOrderId;

  /** 取消时间 */
  @ExcelProperty("取消时间")
  @DateTimeString(message = "取消时间不是有效的时间日期格式")
  private String cancelTime;

  /** 发货时间 */
  @ExcelProperty("发货时间")
  @DateTimeString(message = "发货时间不是有效的时间日期格式")
  private String deliveryTime;

  /** 发货时限 */
  @ExcelProperty("发货时限")
  @DateTimeString(message = "发货时限不是有效的时间日期格式")
  private String latestShipTime;

  /** 订单来源 */
  @ExcelProperty("订单来源")
  private String source;

  /** 支付方式 */
  @ExcelProperty("支付方式")
  private String paymentWay;

  /** 平台单支付状态 */
  @ExcelProperty("平台单支付状态")
  private String paymentStatus;

  /** 支付时间 */
  @ExcelProperty("支付时间")
  @DateTimeString(message = "支付时间不是有效的时间日期格式")
  private String paymentTime;

  /** 平台 */
  @ExcelProperty("平台")
  private String platform;

  /** 订购时间 */
  @ExcelProperty("订购时间")
  @DateTimeString(message = "订购时间不是有效的时间日期格式")
  private String purchaseTime;

  /** 平台单发货状态 */
  @ExcelProperty("平台单发货状态")
  @Size(max = 50, message = "平台单发货状态长度不能超过50")
  private String shippingStatus;

  /** 平台单状态 */
  @ExcelProperty("平台单状态")
  @Size(max = 50, message = "平台单状态长度不能超过50")
  private String status;

  /** 订单国家 */
  @ExcelProperty("订单国家")
  @Size(max = 200, message = "订单国家长度不能超过200")
  private String countryCountry;

  @ExcelIgnore
  @Schema(title = "订单国家")
  private String country;

  /** 承运商 */
  @ExcelProperty("承运商")
  @Size(max = 50, message = "承运商长度不能超过50")
  private String carrierName;

  @ExcelIgnore
  @Schema(title = "承运商")
  private String carrier;

  /** 标发设置编号 */
  @ExcelProperty("标发设置编号")
  @Size(max = 50, message = "标发设置编号长度不能超过50")
  private String issuCode;

  /** 配送服务 */
  @ExcelProperty("配送服务")
  @Size(max = 50, message = "配送服务长度不能超过50")
  private String deliveryService;

  /** 查询地址 */
  @ExcelProperty("查询地址")
  @Size(max = 50, message = "查询地址长度不能超过50")
  private String searchAddress;

  /** 剩余发货 */
  @ExcelProperty("剩余发货")
  private String computedLatestShipTime;
}
